<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
  <!ENTITY % general-entities SYSTEM "../general.ent">
  %general-entities;
]>

<sect1 id="ch-system-kbd" role="wrap">
  <?dbhtml filename="kbd.html"?>

  <sect1info condition="script">
    <productname>kbd</productname>
    <productnumber>&kbd-version;</productnumber>
    <address>&kbd-url;</address>
  </sect1info>

  <title>Kbd-&kbd-version;</title>

  <indexterm zone="ch-system-kbd">
    <primary sortas="a-Kbd">Kbd</primary>
  </indexterm>

  <sect2 role="package">
    <title/>

    <para>key-table файлы, утилиты для клавиатуры для не US наборов, а также консольные шрифты.</para>

    <segmentedlist>
      <segtitle>&buildtime;</segtitle>
      <segtitle>&diskspace;</segtitle>

      <seglistitem>
        <seg>&kbd-ch6-sbu;</seg>
        <seg>&kbd-ch6-du;</seg>
      </seglistitem>
    </segmentedlist>

  </sect2>

  <sect2 role="installation">
    <title>Установка пакета Kbd</title>

    <para>Поведение клавиш Backspace и Delete несовместимо
     в раскладке пакета Kbd. Следующий патч исправляет это
     для раскладок i386:</para>

<screen><userinput remap="pre">patch -Np1 -i ../&kbd-backspace-patch;</userinput></screen>

    <para>После исправления ключ Backspace генерирует символ с кодом 127,
     и клавиша Delete генерирует известную управляющую последовательность.</para>

    <para>Удалить избыточную программу <command>resizecons</command> (требует
     отсутствующей библиотеки svgalib для предоставления файлов видеорежима - для нормального использования
     <command> setfont </command> в консоли) вместе с
     страницами руководства.</para>

<screen><userinput remap="pre">sed -i 's/\(RESIZECONS_PROGS=\)yes/\1no/g' configure
sed -i 's/resizecons.8 //' docs/man/man8/Makefile.in</userinput></screen>

    <para>Подготовьте пакет Kbd к компиляции:</para>

<screen><userinput remap="configure">PKG_CONFIG_PATH=/tools/lib/pkgconfig ./configure --prefix=/usr --disable-vlock</userinput></screen>

    <variablelist>
      <title>Значение параметров конфигурации:</title>
<!--
      <varlistentry>
        <term><parameter>- -datadir=/lib/kbd</parameter></term>
        <listitem>
          <para>This option puts keyboard layout data in a directory that will
          always be on the root partition instead of the default <filename
          class="directory">/usr/share/kbd</filename>.</para>
       </listitem>
      </varlistentry>
-->
      <varlistentry>
        <term><parameter>--disable-vlock</parameter></term>
        <listitem>
          <para>Этот аргумент запрещает создание встроенной утилиты vlock.
           для которой требуется библиотека PAM, недоступной в среде chroot.</para>
       </listitem>
      </varlistentry>

    </variablelist>

    <para>Скомпилируйте пакет:</para>

<screen><userinput remap="make">make</userinput></screen>

    <para>Для выполнения тестов, выполните команду:</para>

<screen><userinput remap="test">make check</userinput></screen>

    <para>Установите пакет:</para>

<screen><userinput remap="install">make install</userinput></screen>

    <note>
      <para>For some languages (e.g., Belarusian) the Kbd package doesn't
      provide a useful keymap where the stock <quote>by</quote> keymap assumes
      the ISO-8859-5 encoding, and the CP1251 keymap is normally used. Users of
      such languages have to download working keymaps separately.</para>
    </note>

<!--
    <para>Some of the scripts in the LFS-Bootscripts package depend on
    <command>kbd_mode</command>, <command>loadkeys</command>,
    <command>openvt</command>, and
    <command>setfont</command>.  As <filename class="directory">/usr</filename>
    may not be available during the early stages of booting, those binaries
    need to be on the root partition:</para>

<screen><userinput remap="install">mv -v /usr/bin/{kbd_mode,loadkeys,openvt,setfont} /bin</userinput></screen>
-->
    <para>При желании, можно установить документацию:</para>

<screen><userinput remap="install">mkdir -v       /usr/share/doc/kbd-&kbd-version;
cp -R -v docs/doc/* /usr/share/doc/kbd-&kbd-version;</userinput></screen>

  </sect2>

  <sect2 id="contents-kbd" role="content">
    <title>Содержимое пакета Kbd</title>

    <segmentedlist>
      <segtitle>Установленные программы</segtitle>
      <segtitle>Установленные каталоги</segtitle>

      <seglistitem>
        <seg>chvt, deallocvt, dumpkeys, fgconsole, getkeycodes, kbdinfo,
        kbd_mode, kbdrate, loadkeys, loadunimap,
        mapscrn, openvt, psfaddtable (link to psfxtable), psfgettable (link to
        psfxtable), psfstriptable (link to psfxtable), psfxtable, <!--resizecons,-->
        setfont, setkeycodes, setleds, setmetamode, setvtrgb,
        showconsolefont, showkey, unicode_start, and unicode_stop</seg>
        <seg>/usr/share/consolefonts, /usr/share/consoletrans, /usr/share/keymaps,
        /usr/share/doc/kbd-&kbd-version;,  and /usr/share/unimaps</seg>
      </seglistitem>
    </segmentedlist>

    <variablelist>
      <bridgehead renderas="sect3">Краткое описание</bridgehead>
      <?dbfo list-presentation="list"?>
      <?dbhtml list-presentation="table"?>

      <varlistentry id="chvt">
        <term><command>chvt</command></term>
        <listitem>
          <para>Changes the foreground virtual terminal</para>
          <indexterm zone="ch-system-kbd chvt">
            <primary sortas="b-chvt">chvt</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="deallocvt">
        <term><command>deallocvt</command></term>
        <listitem>
          <para>Deallocates unused virtual terminals</para>
          <indexterm zone="ch-system-kbd deallocvt">
            <primary sortas="b-deallocvt">deallocvt</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="dumpkeys">
        <term><command>dumpkeys</command></term>
        <listitem>
          <para>Dumps the keyboard translation tables</para>
          <indexterm zone="ch-system-kbd dumpkeys">
            <primary sortas="b-dumpkeys">dumpkeys</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="fgconsole">
        <term><command>fgconsole</command></term>
        <listitem>
          <para>Prints the number of the active virtual terminal</para>
          <indexterm zone="ch-system-kbd fgconsole">
            <primary sortas="b-fgconsole">fgconsole</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="getkeycodes">
        <term><command>getkeycodes</command></term>
        <listitem>
          <para>Prints the kernel scancode-to-keycode mapping table</para>
          <indexterm zone="ch-system-kbd getkeycodes">
            <primary sortas="b-getkeycodes">getkeycodes</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="kbdinfo">
        <term><command>kbdinfo</command></term>
        <listitem>
          <para>Obtains information about the status of a console</para>
          <indexterm zone="ch-system-kbd kbdinfo">
            <primary sortas="b-kbdinfo">kbdinfo</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="kbd_mode">
        <term><command>kbd_mode</command></term>
        <listitem>
          <para>Reports or sets the keyboard mode</para>
          <indexterm zone="ch-system-kbd kbd_mode">
            <primary sortas="b-kbd_mode">kbd_mode</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="kbdrate">
        <term><command>kbdrate</command></term>
        <listitem>
          <para>Sets the keyboard repeat and delay rates</para>
          <indexterm zone="ch-system-kbd kbdrate">
            <primary sortas="b-kbdrate">kbdrate</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="loadkeys">
        <term><command>loadkeys</command></term>
        <listitem>
          <para>Loads the keyboard translation tables</para>
          <indexterm zone="ch-system-kbd loadkeys">
            <primary sortas="b-loadkeys">loadkeys</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="loadunimap">
        <term><command>loadunimap</command></term>
        <listitem>
          <para>Loads the kernel unicode-to-font mapping table</para>
          <indexterm zone="ch-system-kbd loadunimap">
            <primary sortas="b-loadunimap">loadunimap</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="mapscrn">
        <term><command>mapscrn</command></term>
        <listitem>
          <para>An obsolete program that used to load a user-defined output
          character mapping table into the console driver; this is now done
          by <command>setfont</command></para>
          <indexterm zone="ch-system-kbd mapscrn">
            <primary sortas="b-mapscrn">mapscrn</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="openvt">
        <term><command>openvt</command></term>
        <listitem>
          <para>Starts a program on a new virtual terminal (VT)</para>
          <indexterm zone="ch-system-kbd openvt">
            <primary sortas="b-openvt">openvt</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="psfaddtable">
        <term><command>psfaddtable</command></term>
        <listitem>
          <para>Adds a Unicode character table to a console font</para>
          <indexterm zone="ch-system-kbd psfaddtable">
            <primary sortas="b-psfaddtable">psfaddtable</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="psfgettable">
        <term><command>psfgettable</command></term>
        <listitem>
          <para>Extracts the embedded Unicode character table from a console
          font</para>
          <indexterm zone="ch-system-kbd psfgettable">
            <primary sortas="b-psfgettable">psfgettable</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="psfstriptable">
        <term><command>psfstriptable</command></term>
        <listitem>
          <para>Removes the embedded Unicode character table from a console
          font</para>
          <indexterm zone="ch-system-kbd psfstriptable">
            <primary sortas="b-psfstriptable">psfstriptable</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="psfxtable">
        <term><command>psfxtable</command></term>
        <listitem>
          <para>Handles Unicode character tables for console fonts</para>
          <indexterm zone="ch-system-kbd psfxtable">
            <primary sortas="b-psfxtable">psfxtable</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="setfont">
        <term><command>setfont</command></term>
        <listitem>
          <para>Changes the Enhanced Graphic Adapter (EGA) and Video Graphics
          Array (VGA) fonts on the console</para>
          <indexterm zone="ch-system-kbd setfont">
            <primary sortas="b-setfont">setfont</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="setkeycodes">
        <term><command>setkeycodes</command></term>
        <listitem>
          <para>Loads kernel scancode-to-keycode mapping table entries; this is
          useful if there are unusual keys on the keyboard</para>
          <indexterm zone="ch-system-kbd setkeycodes">
            <primary sortas="b-setkeycodes">setkeycodes</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="setleds">
        <term><command>setleds</command></term>
        <listitem>
          <para>Sets the keyboard flags and Light Emitting Diodes (LEDs)</para>
          <indexterm zone="ch-system-kbd setleds">
            <primary sortas="b-setleds">setleds</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="setmetamode">
        <term><command>setmetamode</command></term>
        <listitem>
          <para>Defines the keyboard meta-key handling</para>
          <indexterm zone="ch-system-kbd setmetamode">
            <primary sortas="b-setmetamode">setmetamode</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="setvtrgb">
        <term><command>setvtrgb</command></term>
        <listitem>
          <para>Sets the console color map in all virtual terminals</para>
          <indexterm zone="ch-system-kbd setvtrgb">
            <primary sortas="b-setvtrgb">setvtrgb</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="showconsolefont">
        <term><command>showconsolefont</command></term>
        <listitem>
          <para>Shows the current EGA/VGA console screen font</para>
          <indexterm zone="ch-system-kbd showconsolefont">
            <primary sortas="b-showconsolefont">showconsolefont</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="showkey">
        <term><command>showkey</command></term>
        <listitem>
          <para>Reports the scancodes, keycodes, and ASCII codes of the keys
          pressed on the keyboard</para>
          <indexterm zone="ch-system-kbd showkey">
            <primary sortas="b-showkey">showkey</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="unicode_start">
        <term><command>unicode_start</command></term>
        <listitem>
          <para>Puts the keyboard and console in UNICODE mode [Don't use this
          program unless your keymap file is in the ISO-8859-1 encoding. For
          other encodings, this utility produces incorrect results.]</para>
          <indexterm zone="ch-system-kbd unicode_start">
            <primary sortas="b-unicode_start">unicode_start</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="unicode_stop">
        <term><command>unicode_stop</command></term>
        <listitem>
          <para>Reverts keyboard and console from UNICODE mode</para>
          <indexterm zone="ch-system-kbd unicode_stop">
            <primary sortas="b-unicode_stop">unicode_stop</primary>
          </indexterm>
        </listitem>
      </varlistentry>

    </variablelist>

  </sect2>

</sect1>
